Remotely accessing and programming a set top box

ABSTRACT

Systems and methods for remotely programming a set top box and for remotely scheduling an event on a set top box. A set top box includes a server that allows an access device to access the set top box over an always on connection between the set top box and a network such as the Internet. The access device retrieves program guide data that is locally stored on the set top box and, using the program guide data, selects and schedules events. The events are sent back to the set top box over the connection where they are implemented by the set top box.

BACKGROUND OF THE INVENTION

[0001] 1. The Field of the Invention

[0002] The present invention relates to systems and methods for remotelyaccessing and programming a set top box. More particularly, the presentinvention relates to systems and methods for remotely scheduling eventson a set top box.

[0003] 2. Background and Related Art

[0004] Consumers are beginning to have access to a large number oftelevision programs over an increasing number of television channels.Set top boxes such as cable boxes, satellite receivers, and digitalvideo recorders or combinations thereof are becoming more popularbecause they provide certain advantages that were not previouslyavailable. Set top boxes, for example, allow users to digitally recordprogramming content such as television programs, lock certain channelsfrom being accessed without permission, view electronic program guidedata, and set personal preferences that control how the program guidedata and/or programming content is presented to the user.

[0005] The ability to digitally record a television program isparticularly useful because users are often unable to view a particulartelevision program when it is scheduled for broadcast or because thereis more than one program that the user desires to view. Sometimes, theuser knows that he or she will be unable to view a certain televisionprogram well in advance. For example, the user may be taking a plannedvacation. In this instance, the user is able to directly program the settop box from their home to record the program. By recording thetelevision program, the user is able to view the program at theirleisure.

[0006] Some users, however, decide to record a program shortly beforethe program is scheduled to begin. Because of the relatively shortnotice, these users often find themselves in situations that preventthem from successfully recording the desired program. For example, theuser may be at work, cannot get home in time to record the televisionprogram, have another commitment that conflicts with the televisionprogram, etc. For example, a user, while at a sporting event, maydiscover that their favorite program is a new episode instead of arepeat episode. In these types of situations, the user is simply unableto record their favorite program because they are not home to programthe set top box to record the program.

[0007] Many set top boxes simply require the presence of the user inorder to schedule an event, such as recording a television program. Theproblem, stated generally, is that users are unable to access their settop boxes from a remote location such that an event can be scheduled atthe set top box. Attempts have been made, however, to provide a way forusers to record programs or schedule events when they do not have directaccess to their set top box.

[0008] One attempt involves using a proprietary server that stores.Periodically, the set top box will access the proprietary server inorder to update the program guide data stored in the set top box. Toschedule an event in this case, the user accesses the proprietary serverthrough a network, such as the Internet. Once logged on to theproprietary server, the user may view the program guide data stored onthe proprietary server and input programming instructions or schedule anevent that will be downloaded to the set top box of the user.

[0009] One of the problems with this approach is related to thedifference between the program guide data provided by the proprietaryserver and the program guide data that is stored on the user's set topbox. When a user is at home, the program guide data is oftenpersonalized. For example, favorite channels have been selected andidentified, locks have been set on certain channels, the amount ofprogram guide data displayed has been customized by the user, eventsthat have already been scheduled are reflected to the user, and thelike. In other words, some users have personalized their program guidedata such that it is easier to navigate when they are scheduling anevent such as recording a program or simply browsing the program guidedata.

[0010] The program guide data provided by the proprietary server, on theother hand, is not personalized and is most likely not organized in thesame manner as the program guide data stored on the user's set top box.Previously scheduled events of the user are not reflected in the programguide data and the user's preferences are not available to the user. Inaddition, the program guide data provided by the proprietary server maybe much more voluminous than the program guide data stored on the settop box of the user. For example, the user's set top box may have accessto many different channels, but the user set input preferences such thatthe program guide data for only 15 channels is displayed by the set topbox. When the user logs on to the proprietary server, the user may haveto wade through program guide data for significantly more than 15channels in order to find a television program the user desires torecord. Being presented with such a large quantity of information by theproprietary server is burdensome to the user. The user thus experiencesdifficulty when interacting with the proprietary server that they wouldnot experience at home when using their own program guide data. In spiteof these difficulties, a user can overcome these limitations andidentify an event at the proprietary server, such as identifying aprogram to record. However, users may experience more difficulty innavigating the program guide data as the volume of the program guidedata provided by the proprietary server continues to grow.

[0011] Another problem with this approach is that the set top box onlyaccesses the proprietary server and downloads data periodically. Whenthe set top box downloads guide data, it usually downloads guide datafor an identified time period, a week for example. This creates aproblem when a user desires to record a program on short notice becausethe set top box may not access the proprietary server to retrieve theinstructions left by the user soon enough to actually record theprogram.

SUMMARY OF THE INVENTION

[0012] The present invention overcomes these and other problems andprovides systems and methods for remotely accessing and programming aset top box. In accordance with the present invention, the client systemor the set top box has an always-on connection with a network such asthe Internet. An access device may remotely access a set top box at anytime because the set top box has an always-on connection. In someinstances, the set top box does not have an always-on connection, inwhich case the present invention causes the set top box to establish abi-directional connection with the network such that the set top box maybe remotely accessed and programmed.

[0013] The always-on connection of the set top box can allow users tolog on to the set top box with a remote access device using standardprotocols. In some instances, the user is authenticated by the set topbox or through an authentication service. After logging on to the settop box, the program guide data from the set top box of the user can beserved or transmitted to the remote access device. This enables the userto remotely view the program guide data that is stored on their own settop box on a remotely located access device. Depending on the accessdevice, the program guide data can be presented to a user as it ispresented to a user when the program guide data is accessed from the settop box directly. In some instances, the access device uses a deviceservice that formats the program guide data according to the accessdevice.

[0014] At the access device, a user is able to schedule an event orinput programming instructions using the program guide data that isbeing displayed on the access device. After an event has been selectedor scheduled, the event is sent back to the set top box. The set top boxthen implements the event that was created at the remote access device.In this manner, a user is able to remotely access and program a set topbox or remotely schedule an event.

[0015] Additional features and advantages of the invention will be setforth in the description which follows, and in part will be obvious fromthe description, or may be learned by the practice of the invention. Thefeatures and advantages of the invention may be realized and obtained bymeans of the instruments and combinations particularly pointed out inthe appended claims. These and other features of the present inventionwill become more fully apparent from the following description andappended claims, or may be learned by the practice of the invention asset forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] To further clarify the above and other advantages and features ofthe present invention, a more particular description of the inventionwill be rendered by reference to specific embodiments thereof which areillustrated in the appended drawings. It is appreciated that thesedrawings depict only typical embodiments of the invention and aretherefore not to be considered limiting of its scope. The invention willbe described and explained with additional specificity and detailthrough the use of the accompanying drawings in which:

[0017]FIG. 1 illustrates a programmable client system including a settop box;

[0018]FIG. 2 illustrates a block diagram of an exemplary system forremotely scheduling an event on a set top box;

[0019]FIG. 3 illustrates a block diagram of another exemplary system forremotely interacting with a set top box using a device service; and

[0020]FIG. 4 illustrates a block diagram of another exemplary system forremotely scheduling an event on a set top box using a satellite link.

DETAILED DESCRIPTION OF THE INVENTION

[0021] The present invention extends to both systems and methods forremotely programming a client system or a set top box and to systems andmethods for remotely scheduling an event on a set top box. A clientsystem, as used herein, refers to a set top box individually or to a settop box that is connected with a display device. Examples of set topboxes include, but are not limited to, cable boxes, satellite receivers,digital video recorders (DVR), video cassette recorders (VCR), internetappliances, and combinations thereof. In some instances, the displaydevice, such as a television, is integrated with the set top box or isseparate from the set top box. Many set top boxes also provide theability to connect with a computer network such as the Internet.

[0022] An “event” as used herein refers to actions that are programmedor scheduled on a set top box. Events include, but are not limited to,setting user preferences, locking or unlocking one or more channels orprograms, recording one or more programs, causing a program to not berecorded, setting conflict resolution preferences, and the like.

[0023] As used herein, electronic “program guide data” refers to datathat describes programming content or television programming andincludes, but is not limited to, program start times, program end times,program and movie ratings, program summaries, program titles, channels,program duration, and the like. More generally, the program guide datadescribes the programming content that is received at the set top box.The set top box typically has the ability to display the program guidedata to a user such that the program guide data may be viewed andmanipulated. As used herein, programming content or data includes, butis not limited to, television programs or other video/audio data that isreceived by the client system and that may be stored in the memory ofthe set top box or rendered by a display device.

[0024] The embodiments of the present invention may comprise a specialpurpose or general purpose computer including various computer hardware,as discussed in greater detail below. Set top boxes that enhance thecapabilities of conventional televisions represent an example of aspecial purpose computer. The embodiments may further comprise multiplecomputers linked in a networked environment.

[0025] Embodiments within the scope of the present invention alsoinclude computer-readable media for carrying or havingcomputer-executable instructions or data structures stored thereon. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer. By way of example, andnot limitation, such computer-readable media can comprise physicalstorage media such as RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to carry or store desired program codemeans in the form of computer-executable instructions or data structuresand that can be accessed by a general purpose or special purposecomputer. When information is transferred or provided over a network oranother communications connection (either hardwired, wireless, or acombination of hardwired and wireless) to a computer, the computerproperly views the connection as a computer-readable medium. Thus, sucha connection is also properly termed a computer-readable medium.Combinations of the above should also be included within the scope ofcomputer-readable media. Computer-executable instructions comprise, forexample, instructions and data which cause a general purpose computer,special purpose computer, or special purpose processing device toperform a certain function or group of functions.

[0026] The invention will be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by set-top boxes or other computers. Generally, program modulesinclude routines, programs, objects, components, data structures, etc.that perform particular tasks or implement particular abstract datatypes. Computer-executable instructions, associated data structures, andprogram modules represent examples of the program code means forexecuting steps of the methods disclosed herein. The particular sequenceof such executable instructions or associated data structures representsexamples of corresponding acts for implementing the functions describedin such steps.

[0027]FIG. 1 and the corresponding discussion are intended to provide ageneral description of an exemplary client system that includes a settop box. FIG. 1 illustrates a programmable client system 20 thatincludes a set top box 22 and a display device 32. As previouslydescribed, the set top box 22 may be a cable box, a satellite receiver,a VCR, a DVR, any combination thereof, and the like. The set top box 22is connected to the display device 32, which may be a high definitiontelevision display, a standard television display, a flat panel display,a projection device, a high definition television display, a computermonitor, or any other device capable of displaying television programs,programming content, program guide data and the like.

[0028] Set top box 22 also includes a storage device 24, which may be amagnetic hard disk or any other magnetic or optical or non-volatilememory device that is capable of storing data. The storage device 24,for example, is used to store events, program guide data 26, programmingdata or content 27, and the like. The storage device 24 can also be usedto record programming content 27 that is received over a connection 30.The scheduler 47 is a module that allows a user to program the set topbox 22 or to schedule an event.

[0029] A display 67 shows one example of how program guide data that isretrieved from the storage device 24 might appear on the display device32. The program guide data 26 is typically displayed using a row andcolumn format, as shown by way of example in display 67. A row 60displays times of the day during which programming content will bebroadcast. A column 61 identifies and displays channels over whichprogramming content will be received by the client system 20. Rows 65list the programming content that will be broadcast on the channelsidentified in the column 61 at the times indicated by the row 60. Forexample, a program listing 62 specifies that the program “Local News”will be broadcast on channel ABT from 7:00 to 8:00.

[0030] The display 67 also includes icons that are used to program theset top box 22 or to select and schedule an event. In this example, thedisplay 67 includes a record icon 64, a delete icon 66, an unlock/lockicon 68 and a set preferences icon 70. To record a program, the userwill select a program, such as the program 63, and the program 63 willbe shaded or an icon displayed, for example, to indicate that it hasbeen selected. After the program 63 is selected, the user can click orselect the record icon 64. This causes a record event to be scheduled bythe scheduler 47 and the event is often stored on the storage device 24.The program 63 begins at 8:00, as shown in the display 67. At thespecified time that is identified by the program guide data, the program63 will be recorded by the set top box 22 and will likely be stored onthe storage device 24.

[0031] In another example, the display 67 may already show the program63 as being shaded or an icon displayed, for example, indicating that anevent has been scheduled for that program. If the user no longer desiresto record the program 63, the user can simply select the program 63 andthen click on or select the delete icon 66. This event will cause theprogram 63 to not be recorded. In a similar manner, other events can bescheduled.

[0032] Events are not limited to particular programs, but can be appliedto channels, or to certain time periods, or to programs that have acertain rating, and the like. For example, a user can indicate that allchannels that are not appropriate for a certain age group according tothe rating be locked using a lock event.

[0033] The user may also select the set preferences icon 70 tomanipulate the configuration of the display 67. For example, the usermay set preferences such that only selected channels will appear on thedisplay 67. Thus, the display 67 is only an example of one possibleconfiguration of a display and events are not limited to those describedherein.

[0034] The connection 30 is a bi-directional connection that ispreferably always-on. Examples of the connection 30 include a cablemodem, an Integrated Serviced Digital Network (ISDN) lines, a DigitalSubscriber Line (DSL) line, and the like that provide the set top box 22with access to programming content and to a network such as theInternet. The connection 30 can also be a connection that is notalways-on, such as a standard telephone line. Preferably, the connection30 is always-on. Many set top boxes are configured to receive data whiletheir ability to send data is more limited. The set top box 22 includesa server 34 that gives the set top box 22 the ability to also send orserve data over the connection 30 in addition to receiving programmingContent.

[0035] The set top box 22 also has other components that allowprogramming content to be displayed on the display device 32. Thesecomponents include one or more tuners for tuning the programmingcontent, one or more demodulators for demodulating the tuned programmingcontent, a transport module for selecting a channel or video stream fromthe demodulated programming content, and a decoder for decoding thechannel or video stream. After the channel or video stream is decoded,the audio and video components can be sent to the display device 32. Thechannel or video stream can also be recorded on the storage device 24.

[0036]FIG. 2 illustrates a block diagram of an exemplary system forremotely interacting with the client system 20 such that an event may bescheduled. The connection 30 connects the set top box 22 to a network 40such that the set top box 22 is, in this example, always online with thenetwork 40. Examples of network 40 include, but are not limited to, theInternet, local area networks, wide area networks, or any other type ofnetwork through which computing devices commonly interact with eachother.

[0037] The set top box 22 receives program guide data from a provider 45either through a direct connection 35, or via the network 40 and overthe connection 30, although the set top box 22 may obtain program guidedata from a different source. The program guide data is supplied on aregular or periodic basis to continually maintain a current schedule ofprogram guide data or program listings at the client system 20. Theprogram guide data obtained from the provider 45 is typically stored onthe storage device 24.

[0038] Alternatively, the program guide data may be delivered to theclient system 20 by using a direct-dial communication over standardtelephone lines, or by using data transmission over the cable televisioninfrastructure, a satellite network, an over-the-air broadcasting, orany other available medium.

[0039] In FIG. 2, a user uses an access device 44 to remotely interactwith the client system 20 via the network 40. To access the clientsystem 20, a user first connects the access device 44 to the network 40.The user then connects the access device 44 to the client system 20 viathe network 40 and over the connection 30. Accessing the set top box 22in this manner often requires a user to authenticate herself to the settop box 22 or log on to the set top box 22. This can be accomplishedthrough the server 34 of the set top box using, for example, a challengeand response. Alternatively, the user can use an authentication service42 that authenticates the user to the set top box 22. This assumes thatthe user has previously registered with the authentication service 42and obtained a user identifier (such as a user name and password) fromthe authentication service 42. The user identifier issued by theauthentication service 42 can be used at all sites that have anassociation with the authentication service 42. In this case, the userlogs on to the set top box 22 using a user identifier (such as a username and password) that were issued by the authentication service 42.The set top box 22 then verifies the user with the authenticationservice 42. Microsoft Passport™ is one example of the authenticationservice 42.

[0040] Because a user is remotely logging on to the set top box 22, theset top box 22 will typically have an Internet Protocol (IP) address.The IP address is often known to the user or can be determined fromconfiguration data of the set top box 22. In some instances, the set topbox 22 can be identified using a static IP address or by a third partyservice that provides a link to the IP address of the set top box 22.For example, in a cable system, the IP address of the set top box 22 isoften supplied by the cable company and may be dynamic.

[0041] Once the user has obtained access to set top box 22, the user mayretrieve data from set top box 22 such as the program guide data 26stored on the storage device 24. The server 34 serves the program guidedata 26 to the access device 44, where it is displayed to the user inthe same or modified configuration as the program guide data 26 isdisplayed on the display device 32.

[0042] The user may also use the access device 44 to schedule events tooccur at the client system 20 or at the set top box 22. As previouslydiscussed, those events can include, but are not limited to, recordingprogramming content, deleting recorded programming content, manipulatinguser preferences of program guide data 26, or performing any otherfunctions that the set top box 22 commonly performs. For example, a useris able to select a program on the access device 44 using the displayedprogram guide data. After the program has been selected, the user canselect the record icon that is displayed on the access device 44, thusscheduling the selected program to be recorded by set top box 22. Thisevent is sent to the set top box 22 over the connection 30 usingstandard protocols. The event is then implemented on the set top box bythe scheduler of the set top box. In this manner, a user is able toremotely schedule an event on their set top box.

[0043]FIG. 3 illustrates another embodiment of an exemplary system forremotely scheduling an event on the client system 20. In this example,the access device 44 of FIG. 2 is represented by, but not limited to,devices such as a cell phone 39, a desktop computer 41, a laptopcomputer 43 or any other device, such as a personal digital assistant(PDA) or Internet appliance, that is commonly used to access a network.In this example, the user will log on to the device service 46 with oneof the access devices. When the user logs on to the device service 46with an access device, the user is often required to submit usernamesand/or passwords that are specific to the access device. For example,the cell phone 39 typically uses numerical data for authenticationpurposes while the desktop computer 41 and the laptop computer 43 aremore likely to employ alphanumerical data for authentication purposes.

[0044] The device service 46 is associated with the authenticationservice 42 and the device service 46 automatically authenticates theuser with the authentication service 42 whenever the user logs on to thedevice service 46 with an access device. The set top box 22 illustratedin FIG. 3 is also associated with the authentication service 42 in thisexample. As a result, the authentication manager 24 of the set top box22 is able to automatically authenticate a user that attempts to accessor remotely program the set top box 22 through the authenticationservice 42 and the user is relieved of having to supply another usernameand/or password to the set top box 22.

[0045] One advantage of the device service 46 is that it dynamicallyrecognizes the specific access device of the user. The device service 46is thus able to appropriately format all data that is sent to theparticular access device. For example, if the user uses laptop computer43 to connect to device service 46, access set top box 22, and retrieveprogram guide data 26, then the device service 46 automatically formatsthe program guide data 26 to appear on the laptop display in the same orsimilar configuration as the program guide data 26 is displayed on thedisplay device 32. Alternatively, if the user connects the cell phone 39to the device service 46 in order to access the set top box 22 andretrieve the program guide data 26, the device service 46 automaticallyappropriately formats the program guide data 26 to, for example, a menudriven configuration suitable to be displayed on the cell phone 39.

[0046] When the user connects to the set top box 22 through the server34, the authentication manager 48 communicates, via server 34, overconnection 30 and via network 40, with the authentication service 42 toassure that the user attempting to connect with the server 34 isauthorized to access set top box 22. Once the authentication manager 48has authenticated the user with the authentication service 42, withwhich the user has previously registered as described above, the usermay have full access to interact with set top box 22. If the user is notauthenticated, then the authentication manager 48 prohibits the userfrom retrieving data or scheduling events on the set top box 22.

[0047] Once the authentication manager 48 has authenticated the user,the user may retrieve data or schedule events on the set top box 22 inthe same manner described in FIG. 2. For example, the user may schedulean event causing the set top box 22 to record a particular program. Thescheduler 47, upon receiving the remotely scheduled event, schedules theevent on the set top box 22 or implements the programming instructions.The DVR 49 indicates that the set top box has the capability todigitally record programming content.

[0048]FIG. 4 illustrates a block diagram of an exemplary system forremotely interacting with client system 20 where the connection is notalways-on. The set top box 22 is connected to a network 40 by aconnection 53. The connection 53 is bi-directional and may include cablemodem lines, standard telephone lines, Integrated Services DigitalNetwork (ISDN) lines, DSL lines, cable lines associated with cabletelevision service, or the like to connect to a network such as theInternet. The set top box 22 may also receive programming content andother data from a satellite 52. However, because the programming contentis received from the satellite 52, the connection 53 is not always on.If the connection 53 is not on, then the set top box 22 cannot beaccessed and events cannot be scheduled primarily because the satellite52 only transmits programming information and cannot receive data fromthe set top box 22.

[0049] To remotely access and program the client system 20 in thisexample, the user connects the access device 44 to the network 40. Theuser then accesses a satellite server 50 via network 40 and uses theaccess device 44 to input instructions to satellite server 50 that willultimately be sent to the set top box 22. Often these instructions areincluded in the conditional access data, but they can be transmitted inother formats as well. The instructions cause the set top box 22 to openthe connection 53. Once the connection 53 is turned on, the user maydirectly access set top box 22 via network 40 and over connection 53 inthe same manner as described in FIGS. 2 and 3. It is contemplated thatan authentication service and/or a device service may also beimplemented in this example as described in FIG. 3. When the user hasfinished remotely accessing and programming the set top box 22, the settop box 22 disconnects the connection 53 from the network 40.

[0050] The present invention may be embodied in other specific formswithout departing from its spirit or essential characteristics. Thedescribed embodiments are to be considered in all respects only asillustrative and not restrictive. The scope of the invention is,therefore, indicated by the appended claims rather than by the foregoingdescription. All changes which come within the meaning and range ofequivalency of the claims are to be embraced within their scope.

What is claimed and desired to be secured by United States LettersPatent is:
 1. In a system that is comprised of an access device, aprogrammable client system and a provider, all of which are logicallyinterconnectable through a network such as the Internet, wherein theclient system stores program guide data that is used by a user toschedule events, a method for remotely scheduling events at the clientsystem with an access device, comprising steps for: accessing the clientsystem through the network with the remotely located access device,wherein the client system has a bi-directional connection with thenetwork; once the access device is connected to the client system,retrieving current program guide data from the client system with theremotely located access device, wherein the current program guide datais displayed on the remotely located access device; selecting an eventusing the retrieved program guide data displayed at the remotely locatedaccess device; sending the selected event to the client system; andscheduling the selected event at the client system.
 2. A method asdefined in claim 1, wherein the step for accessing the client systemwith the remotely located access device further comprises a step forauthenticating a user of the remotely located access device.
 3. A methodas defined in claim 2, wherein the step for authenticating a user of theremotely located access device further comprises a step forauthenticating the user at the client system with an authenticationservice.
 4. A method as defined in claim 1, wherein step for retrievingthe current program guide data from the client system further comprisessteps for: displaying a schedule of programming content that isscheduled to be sent to the client system on the access device; anddisplaying previously scheduled events on the access device.
 5. A methodas defined in claim 1, wherein the step for selecting an event at theremotely located access device further comprises a step for selectingone or more of the programs identified in the current program guide datato be associated with an event.
 6. A method as defined in claim 1,wherein the step for selecting an event at the remotely located accessdevice further comprises a step for unselecting one or more of theprograms previously selected and associated with an event, wherein theassociated event is removed from the unselected programs.
 7. A method asdefined in claim 1, wherein the step for selecting an event at theremotely located access device further comprises one or more of: a stepfor setting preferences in the current program guide data; a step forselecting a record event; a step for selecting a delete event; and astep for selecting a lock or unlock event.
 8. A method as defined inclaim 1, wherein the step for accessing the client system furthercomprises a step for connecting the access device to a device service.9. A method as defined in claim 8, further comprising: a step forauthenticating the access device at the device service with anauthentication service; and a step for formatting, by the deviceservice, the retrieved current program guide data for the access device.10. In a system that is comprised of an access device, a programmableclient system and a provider, all of which are logicallyinterconnectable through a network such as the Internet, wherein theclient system stores program guide data that is updated periodicallyfrom the provider and the program guide data stored on the client systemis used by a user to schedule events, a computer program product forimplementing a method for remotely scheduling events at the clientsystem with an access device, comprising: a computer readable medium forcarrying computer executable instructions for implementing said method,and wherein the method comprises steps for: accessing the client systemthrough the network with the remotely located access device, wherein theclient system has a bi-directional connection with the network; once theaccess device is connected to the client system, retrieving currentprogram guide data from the client system with the remotely locatedaccess device, wherein the retrieved program guide data is displayed onthe remotely located access device; selecting an event using the currentprogram guide data displayed at the remotely located access device;sending the selected event to the client system; and scheduling theselected event at the client system.
 11. A method as defined in claim10, wherein the step for accessing the client system with the remotelylocated access device further comprises a step for authenticating a userof the remotely located access device.
 12. A method as defined in claim11, wherein the step for authenticating a user of the remotely locatedaccess device further comprises a step for authenticating the user atthe client system with an authentication service.
 13. A method asdefined in claim 10, wherein step for retrieving the current programguide data from the client system further comprises steps for:displaying a schedule of programming content that is scheduled to besent to the client system on the access device; and displayingpreviously scheduled events on the access device.
 14. A method asdefined in claim 10, wherein the step for selecting an event at theremotely located access device further comprises a step for selectingone or more of the programs identified in the current program guide datato be associated with an event.
 15. A method as defined in claim 10,wherein the step for selecting an event at the remotely located accessdevice further comprises a step for unselecting one or more of theprograms previously selected and associated with an event, wherein theassociated event is removed from the unselected programs.
 16. A methodas defined in claim 10, wherein the step for selecting an event at theremotely located access device further comprises one or more of: a stepfor setting preferences in the current program guide data; a step forselecting a record event; a step for selecting a delete event; and astep for selecting a lock or unlock event.
 17. A method as defined inclaim 10, wherein the step for accessing the client system furthercomprises a step for connecting the access device to a device service.18. A method as defined in claim 17, further comprising: a step forauthenticating the access device at the device service with anauthentication service; and a step for formatting, by the deviceservice, the retrieved current program guide data for the access device.19. In a system that is comprised of an access device, a set top box anda provider, all of which are logically interconnectable through anetwork such as the Internet, wherein the set top box stores programguide data that is updated periodically from the provider and theprogram guide data stored on the set top box is used by a user toschedule events, a method of remotely accessing and programming the settop box with the access device, the method comprising: an act ofconnecting the set top box to the network with a bi-directionalconnection that is always on line with the network; at a location thatis remote from the set top box, an act for connecting the access devicethrough the network and over the bi-directional connection to the settop box, wherein the access device authenticates with the set top box;once the access device is connected to the set top box, an act ofretrieving current program guide data from the client system via thenetwork and over the bi-directional connection, wherein the currentprogram guide data is formatted for the remotely located access deviceand displayed on the remotely located access device; an act for usingthe current program guide data displayed on the access device at theremote location to select an event relating to the current program guidedata, wherein the event is communicated to the set top box via thenetwork and over the two-way connection; and an act of implementing theselected event at the set top box.
 20. A method as defined in claim 19,wherein the act of connecting the access device through the network andover the bi-directional connection to the set top box further comprisesa step for authenticating a user with an authentication service.
 21. Amethod as defined in claim 19, wherein the act of connecting the accessdevice through the network and over the bi-directional connection to theset top box further comprises a step for connecting the access device toa device service, wherein the device service formats the retrievedprogram guide data for the access device.
 22. A method as defined inclaim 19, wherein the current programming information retrieved from theclient system further comprises program guide data representingprogramming content that is scheduled to be sent to the client system.23. A method as defined in claim 19, wherein the step for selecting anevent at the remotely located access device further comprises a step forselecting one or more programs, wherein the one or more programs will berecorded.
 24. A method as defined in claim 19, wherein the step forselecting an event at the remotely located access device furthercomprises a step for unselecting one or more programs previouslyselected to be recorded, wherein the unselected one or more programswill not be recorded.
 25. A method as defined in claim 19, wherein thestep for selecting an event at the remotely located access devicefurther comprises a step for changing the configuration of the programguide data.
 26. A method as defined in claim 19, wherein the step forselecting an event at the remotely located access device furthercomprises an act of setting an event to lock or unlock one or morechannels available to the set top box.
 27. A method as defined in claim19, wherein the step for selecting an event at the remotely locatedaccess device further comprises a step for deleting previously recordedprogramming content.
 28. In a system that is comprised of an accessdevice, a device service, an authentication service, a set top box and aprovider that is accessible by the client system, all of which arelogically interconnectable through a network such as the Internet, amethod of remotely scheduling events at the client system with an accessdevice, comprising acts of: connecting the set top box to the networkwith a connection that is always on line with the network; at a locationthat is remote from the set top box, logically connecting the accessdevice to the device service; authenticating the access device at thedevice service with the authentication service, wherein theauthentication service can then automatically authenticate the accessdevice to the set top box; automatically recognizing the access deviceat the device service; logically connecting the access device via thedevice service and the network to the client system; once connected,retrieving current program guide data from the set top box with theremotely located access device via the device service, wherein thecurrent program guide data is appropriately formatted by the deviceservice for the access device and the current program guide datadisplayed on the remotely located access device; selecting an event fromthe program guide data displayed at the remotely located access device;and sending the selected event from the remotely located access deviceto be executed at the set top box; wherein a scheduler implements theevent at the set top box.
 29. A method as defined in claim 28, whereinthe act of retrieving current program guide data retrieved from the settop box further comprises acts of: displaying programming content thatis scheduled to be sent to the client system from; and displayingscheduled events.
 30. A method as defined in claim 28, wherein theaccess device is one of a cell phone, lap top computer, desktopcomputer, handheld computer, or internet appliance.
 31. A method asdefined in claim 30, wherein the act of retrieving the current programguide data further comprises an act of automatically formatting thecurrent program guide data retrieved from the set top box at the deviceservice to a format appropriate for display by the cell phone, lap topcomputer, desktop computer, handheld computer, or internet appliance.32. A method as defined in claim 28, wherein the step for connecting theaccess device to the set top box further comprises an act of theauthentication service authenticating the user to the set top box.
 33. Amethod as defined in claim 32, further comprising an act of the deviceservice authenticating the user with authentication service.
 34. In asystem that is comprised of an access device, a device service, anauthentication service, a programmable client system and a provider thatis accessible by the client system, all of which are logicallyinterconnectable through a network such as the Internet, a computerprogram product for implementing a method of remotely scheduling eventsat the client system with an access device, the computer program productcomprising: a computer readable medium for carrying computer executableinstructions for implementing said method, and wherein the implementedmethod comprises acts of: connecting the set top box to the network witha connection that is always on line with the network; at a location thatis remote from the set top box, logically connecting the access deviceto the device service; authenticating the access device at the deviceservice with the authentication service, wherein the authenticationservice can then automatically authenticate the access device to the settop box; automatically recognizing the access device at the deviceservice; logically connecting the access device via the device serviceand the network to the client system; once connected, retrieving currentprogram guide data from the set top box with the remotely located accessdevice via the device service, wherein the current program guide data isappropriately formatted by the device service for the access device andthe current program guide data displayed on the remotely located accessdevice; selecting an event from the program guide data displayed at theremotely located access device; and sending the selected event from theremotely located access device to be executed at the set top box;wherein a scheduler implements the event at the set top box.
 35. Amethod as defined in claim 34, wherein the act of retrieving currentprogram guide data retrieved from the set top box further comprises actsof: displaying programming content that is scheduled to be sent to theclient system from; and displaying scheduled events.
 36. A method asdefined in claim 34, wherein the access device is one of a cell phone,lap top computer, desktop computer, handheld computer, or internetappliance.
 37. A method as defined in claim 36, wherein the act ofretrieving the current program guide data further comprises an act ofautomatically formatting the current program guide data retrieved fromthe set top box at the device service to a format appropriate fordisplay by the cell phone, lap top computer, desktop computer, handheldcomputer, or internet appliance.
 38. A method as defined in claim 34,wherein the step for connecting the access device to the set top boxfurther comprises an act of the authentication service authenticatingthe user to the set top box.
 39. A method as defined in claim 38,further comprising an act of the device service authenticating the userwith authentication service.
 40. In a system that is comprised of anaccess device, a set top box, a provider, all of which are logicallyinterconnectable through a network such as the Internet, and asatellite, which receives data from the provider and sends both programguide data and programming content to the set top box, a method ofremotely scheduling events on the set top box with an access device, themethod comprising: a step for logically connecting the access device toa satellite server; a step for sending instructions from the accessdevice to the satellite server, wherein the satellite server causes thesatellite to send the instructions to the set top box in the programguide data or the programming content, wherein the instructions causethe set top box to establish a bi-directional connection between the settop box and the network; once the bi-directional connection between theset top box and the network is established, a step for connecting theremotely located access device via the network and over thebi-directional connection to the set top box; once the access device isconnected to the client system, a step for retrieving, at the remotelylocated access device, current program guide data from the set top box,wherein the program guide data is displayed on the remotely locatedaccess device; and a step for using the access device at the remotelocation to schedule events to be implemented by the set top box.
 41. Amethod as defined in claim 40, wherein the step for retrieving, at theremotely located access device, current program guide data from the settop box e further comprises a step for authenticating the access devicewith an authentication service.
 42. A method as defined in claim 40,wherein the step connecting the remotely located access device via thenetwork and over the bi-directional connection to the set top boxfurther comprises a step for connecting the access device to a deviceservice
 43. A method as defined in claim 40, wherein the current programguide data retrieved from the set top box further comprises aprogramming content scheduled to be sent to the set top box from thesatellite, wherein the current program guide data includes previouslyscheduled events.
 44. A method as defined in claim 40, wherein the stepfor selecting an event at the remotely located access device furthercomprises an act of selecting one or more programs, wherein theprogramming content of the selected one or more programs will berecorded.
 45. A method as defined in claim 40, wherein the step forselecting an event at the remotely located access device furthercomprises an act of unselecting one or more programs previously selectedto be recorded, wherein the unselected one or more programs will not berecorded.
 46. A method as defined in claim 40, wherein the step forselecting an event at the remotely located access device furthercomprises an act of changing the configuration of the current programguide data.
 47. A method as defined in claim 40, wherein the step forselecting an event at the remotely located access device furthercomprises an act of locking or unlocking one or more channels ofprogramming content available to the set top box from the satellite. 48.A method as defined in claim 40, wherein the step for selecting an eventat the remotely located access device further comprises an act ofdeleting previously recorded programming content.